package 数组;

/**
 * @author tmh
 * @date 2024/8/31 22:05
 * @description
 */
public class T26删除有序数组中的重复项 {
    public int removeDuplicates(int[] nums) {
        //运用双指针，i，j,j初始值指向i后面一个元素
        if (nums == null || nums.length == 0) {
            return 0;
        }
        int i = 0;
        int j = 1;
        while (j < nums.length) {
            if (nums[i] == nums[j]) {
                //如果值相同，就j就++
                j++;
            } else {
                //如果值不同，i要先++
                i++;
                nums[i] = nums[j];
                j++;
            }
        }
        //因为下标是从0开始的，所以返回i+1
        return i + 1;
    }
}
